package com.yxinsur.imc.business.service;

import java.util.List;
import com.baomidou.mybatisplus.extension.service.IService;
import com.yxinsur.imc.business.domain.ImcTenant;
import com.yxinsur.imc.business.form.TenantForm;
import com.yxinsur.imc.business.form.TenantUserForm;
import com.yxinsur.imc.common.rocketMq.entity.PantheonChannel;
import com.yxinsur.imc.business.vo.TenantVo;
import com.yxinsur.imc.common.core.domain.entity.SysUser;

/**
 * 租户Service接口
 *
 * @author imc
 * @date 2021-03-26
 */
public interface IImcTenantService  extends IService<ImcTenant>
{
    /**
     * 查询租户
     *
     * @param id 租户ID
     * @return 租户
     */
    public ImcTenant selectImcTenantById(Long id);

    /**
     * 查询租户列表
     *
     * @param imcTenant 租户
     * @return 租户集合
     */
    public List<TenantVo> selectImcTenantList(TenantForm imcTenant);

    /**
     * 新增租户
     *
     * @param imcTenant 租户
     * @return 结果
     */
    public int insertImcTenant(TenantForm imcTenant);
    /**
     * 新增租户管理员
     *
     * @param tenantUserForm 租户
     * @return 结果
     */
    public int insertImcTenantUser(TenantUserForm tenantUserForm);

    /**
     * 修改租户
     *
     * @param imcTenant 租户
     * @return 结果
     */
    public int updateImcTenant(TenantForm imcTenant);

    /**
     * 批量删除租户
     *
     * @param ids 需要删除的租户ID
     * @return 结果
     */
    public int deleteImcTenantByIds(String[] ids);

    /**
     * 删除租户信息
     *
     * @param id 租户ID
     * @return 结果
     */
    public int deleteImcTenantById(String id);

    List<SysUser> selectUserList(SysUser user);

    int addPantheon(List<PantheonChannel> channels);

    //只改全称 简称  营业执照  机构编码
    int updatePantheon(List<PantheonChannel> channels);

    int deletePantheon(List<PantheonChannel> channels);
}
